<!DOCTYPE html>
<html lang="en-us">

<head>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />

  	<meta property="og:title" content=" python基础 &middot;  我的博客" />
  	<meta property="og:site_name" content="我的博客" />
  	<meta property="og:url" content="/my_technology/16/" />
    
    
  	<meta property="og:type" content="article" />

    <meta property="og:article:published_time" content="2020-06-18T08:50:14&#43;08:00" />

    
    

  <title>
     python基础 &middot;  我的博客
  </title>

    <meta name="description" content="这里是付佳康的个人博客" />

    <meta name="HandheldFriendly" content="True" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <link rel="shortcut icon" href="/my_technology/images/favicon.ico">
	  <link rel="apple-touch-icon" href="/my_technology/images/apple-touch-icon.png" />
    
    <link rel="stylesheet" type="text/css" href="/my_technology/css/screen.css" />
    <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Merriweather:300,700,700italic,300italic|Open+Sans:700,400|Inconsolata" />


    
      
          <link href="/my_technology/index.xml" rel="alternate" type="application/rss+xml" title="我的博客" />
      
      
    
    <meta name="generator" content="Hugo 0.68.3" />

    <link rel="canonical" href="/my_technology/16/" />

     
</head>
<body class="nav-closed">
<div id="particles-js"></div>
  


 <div class="site-wrapper">



<header class="main-header " style="background-image: url(/my_technology/images/user.jpg)">

    <nav class="main-nav overlay clearfix">
        
            <a class="blog-logo" href="/my_technology/"><img src="/my_technology/images/user.png" alt="Blog Logo" /></a>
        
        
    </nav>
<div class="vertical">
        <div class="main-header-content inner">
            <h1 class="page-title">
              <a class="btn-bootstrap-2" href="#content">我的博客</a>
          </h1>
          <h2 class="page-description">这里是付佳康的个人博客</h2>
        </div>
</div>
    <a class="scroll-down icon-arrow-left" href="#content"><span class="hidden">Scroll Down</span></a>
</header>

  <main id="content" class="content" role="main">


  <article class="post ">

    <header class="post-header">
        <h1 class="post-title">python基础</h1>
        <section class="post-meta">
        
         
        </section>
    </header>

    <section class="post-content">
      <pre><code>什么是python

常识
    龟叔 1991  python2.0  python3.0
    人生苦短，我用python

python优点
    简单易学 、免费开源、丰富的库、可扩展性、可移植性、面向对象、规范的代码。。。
    缺点：执行效率相对慢

python应用场景
    Web开发，自动化脚本，爬虫，科学计算。。

注释
    #单行注释
    多行注释&quot;&quot;&quot; &quot;&quot;&quot;

变量
    用来存储数据
    A=123

变量的类型
    数字-int、float
    布尔-True、False
    字符串 str
    列表 list
    Tuple 元组
    Dict  字典

    变量类型的查看type()

标识符：
    构成：
        字母、数字、下划线
    a b 不能作位标识符
    Abc 不等于 abc
    
命名规则：
    三大命名规则：
        大驼峰 Abcd
        小驼峰 abCd
        下划线 a_bcd
    不能以其它字符命名
    
关键字：
    定义：特殊的标识符，关键字不可用来当作变量名
    如何在Python查看关键字：
        windows+R打开命令行
        &gt;&gt;&gt; python
        &gt;&gt;&gt; import keyword
        &gt;&gt;&gt; keyword.kwlist
        出现关键字：['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

输入：
    Python2.0: raw_input() 将字符串与int类型分开
    Python3.0: input() 结果为字符串
     
输出：
    格式：print()
    格式化输出：print(&quot;%s, %d&quot; % （变量名1，变量名2）) 
    
常用的格式符号：
    %s -- 字符串
    %d -- 十进制整数(int类型)
    %f -- 浮点
    %c -- 字符
    
输出的换行：
    \n
    
运算符：
    +、-、*、/ --&gt; 加减乘除
    // --&gt; 取整（3//2==1）
    % 取余
    ** 幂 
    优先级 先幂再乘除最后加减
    
赋值运算符：
    =
    当个变量赋值 a=123
    多个变量赋值 a,b,c=1,2,3
    
符合赋值运算符：
    +=、-=、*=、/=、//=
    
python常用的数据类型转换：
    int()数字整形类型
    float()浮点类型
    str（）字符串类型
    list（）列表类型
    tuple（）
    
if—elif-else判断：
    格式：
        if 判断条件：
            条件成立输出结果
        elif 判断条件2：
            条件2成立输出结果
        else：
            条件不成立输出结果
            
比较运算符：
    ==、!=、&gt;=、&lt;=、&gt;、&lt;
    
逻辑运算符(或、且、非):
    and 且
    or 或
    not 非
    
if嵌套：
    格式：
        if 判断条件：
            if 判断条件2：
                成立返回结果
        else：
            不成立返回结果

while循环使用场景：
    while 与 if语法相似
    区别是if条件成立，执行一次，while条件成立，重复执行
    实例：
        a = 0  变量为0
        while a &lt; 10:  a小于10执行
            a += 1 每次循环a=a+1
            print(a) 输出结果

while嵌套应用场景：
    正倒三角形、九九乘法表
    三角实例：
        i = 1
        while i &lt;= 5:
            j = 1
            while j &lt;= i:
                print(&quot;*&quot;, end='')  end加距离
                j += 1
            print(&quot;\n&quot;)  \n换行
            i += 1
    
    乘法表实例：
        i = 1
        while i &lt;= 9:
            j = 1
            while j &lt;= i:
                print('%d*%d=%d'% (j, i, j*i), end=' ')
                j += 1
            print('\n')
            i += 1
                      
for循环：
    break终止循环
    continue跳过当前，进行下一次循环
    
    for循环三角实例：
        for i in range(1, 10):
            for j in range(1, i):
                print('*', end='')
                j += 1
            print('\n')
            i += 1    
            
    for循环九九乘法表：
        for i in range(1, 10):
            for j in range(1, i+1):
                print('%d*%d=%d' % (j,i,j*i), end=' ')
                j += 1
            print('\n')
            i += 1
            
字符串介绍：
    格式：变量名=&quot;&quot;
    输出：print(&quot;内容&quot;)
    格式化输出print('%s,%d' % (str, int))
    输入：input（）结果为字符串类型
    
字符串下标和切片：
    下标--索引，从0开始
    切片：对操作的对象截取一部分（字符串，列表，元组）
    格式：
        [起始值:结束：步长]  包头不包尾 步长表示间隔几位取值，步长若为符，字符串为倒序排列
    
字符串常见操作：
    find与rfind：
        find方法：从左检测是否包含内容，如包含返回第一个匹配的索引，不包含返回-1
        rfind方法：从右检测是否包含内容，如包含返回第一个匹配的索引，不包含返回-1
    
    index与rindex
        用法跟find差不多，只不过：如果匹配不到则报错
        
    count 在返回mystr（start~end之间，出现的次数）
        如果存在则返回出现次数，如果不存在不会报错而是返回0
        
    replace替换
        用来将字符替换
        
    split
        以...分割,通过split可以对字符串进行列表的转换
        
    capitalize
        把字符串第一个字母大写
    
    title 
        把字符串每个单词的首字母大写
    
    endswith 
        判断是否以XXX结尾，结果为布尔（True，Flase）
    
    lower 
        将所有的大写转为小写
        
    upper 
        将所有的小写转为大写
        
    ljust
        左对齐 空格填补
        
    rjust
        右对齐 空格补齐
        
    center 
        居中对齐 空格补齐
    
    lstrip 
        删除左边空格
    
    rstrip
        删除右边空格
    
    strip
        用于移除字符串头尾指定的字符（默认为空格或换行符）或字符序列
        该方法只能删除开头或是结尾的字符，不能删除中间部分的字符
    
    partition
        用来根据指定的分隔符将字符串进行分割,返回元组
        
    rpartition
        类似于 partition() 方法，只是该方法是从目标字符串的末尾也就是右边开始搜索分割符
        
    splitlines
        按行进行分割，注意返回的是列表
    
    isalpha
        判断字符串中是否有字母，是True反之false，判断--布尔--返回结果（True，False）
   
   isdigit
        判断字符串中是否有数字，是True反之~False
        
    isalnum 
        判断字符串中是否有数字或者字母，是True反之False
        
    isspace
        判断字符串中是否有空格，是True反之False
        
    join 
        拼接（常用）通常与split联动
        
列表的循环遍历：
    For i in 
    List = [1,2,3,4,5]
    For i in list:
        Print(i)
    
    while也可用
        
列表的相关操作
增删改查
    增：append extend insert
        Append 默认添加到列表尾部
        Extend 添加到列表尾部
        insert通过下标索引插入数据
            B = [1,2]
            B.insert(0,3) 0是下标，3是数字
    
    列表的删除 del pop remove
        Del 根据下标进行删除
        Pop 删除最后一个元素
        Remove 根据元素的值进行删除
        
    列表的修改 
        第一步：精准定位，通过下标找到要改的数据
        第二步：再修改
        B = [1,2,3]  #把1改为4
        B[0] = 4
        # B[0] = &quot;4&quot;
        print(B)
        
    列表的查询
        In   not in  index  count
        In 存在
        Not in 不存在
        Index 存在返回下标，不存在报错   b = a.index(&quot;a&quot;,1,4) a是要找的，1，4是起始位置
        Count a=[1,2,3,4,5,1]  1在列表中出现过几次
        
    列表的嵌套
        列表里面再放一个列表
            A = [['1,2,3'],[“1,5”]]
            
元组
    访问元组
    通过下标访问
    Tuple = (“houyue”,1,1.01)
    b = Tuple[0]
    print(b)
    
    Index 存在返回下标，不存在报错   b = a.index(&quot;a&quot;,1,4) a是要找的，1，4是起始位置
    count a=[1,2,3,4,5,1]  1在列表中出现过几次
    
字典
    格式：
        Dict={“Key键”:”value值”}
        print(dict[&quot;键&quot;]) 如果未找到键则会报错
        print(dict.get(&quot;键&quot;)) 通过get找就算未找到也不会报错，返None
       
   字典常见操作:
        查看元素:除了用键（key）查找数据以外还可以用get来查找
        修改元素:每个元素都可以修改，只要找到key，就可以肆无忌惮了 a = dict[&quot;键&quot;]=&quot;更改的值&quot;
        字典的添加：直接添加一个键--值， Dict[“键”]=值
        
    字典的删除:
        Del
        Clear()
        Pop
      
        Del 指定删除元素  ---（扩展pop用法类似）
            Del dict[“name”]
            Print()
        Del 删除整个字典
            Del dict
        
        Clear()清空字典
            Dict.clear()
        
    字典的相关操作:
        len()
            a = len(dict)
            测量字典中，键值对的个数  
            count()在字典中没法用
            
        keys
            a = dict.keys()
            返回一个包含字典中所有key的列表 

        values
            a = dict.values()
            返回一个包含字典中所有值的列表
        
        items
            a = dict.items()
            返回一个包含所有（键、值）元组的列表
            
    字典的遍历
        格式：for...in...可以遍历字典,遍历可用的数据类型：字符串、列表、元组，字典
        
        遍历字典的key（键）
            for key in dict.keys:
                print(key)
            
        遍历字典的value（值）
            for value in dict.values:
                print(value)
                
        遍历字典的项（元素）item
            for item in dict.items():
                print(item)
                
        遍历键值对
            for key,value in dict.items():
                print(key,value)
        
集合介绍
    Set={}
    集合是一个无序，元素是唯一，集合一般用于元组或者列表的元素的去重
    
    添加 add
    Set={1,2,4,5}
    A = Set.add(3)
    Print(A)
    
    Update 把元素拆分，作为个体传入到集合中
    Set.update(“789”)
    
    删除元素
    Remove pop discard
    Remove:删除集合中的元素，有则删，没有就报错
    Pop 随机删除集合中的元素，set中有则删，没有就报错
    Discard 删除集合中的元素，有则删，没有就不做任何操作
    
    集合最常见的用法：交集跟并集（&amp;  |）
    交集------且
    Set1={1,2,3,4}
    Set2={3,4,5,6}
    Set3 = set1 &amp; set2
    Print(set3)  
    &gt;&gt;&gt;{3,4}
    
    并集------或
    Set1={1,2,3,4}
    Set2={3,4,5,6}
    Set3 = set1 | set2
    Print(set3)  
    &gt;&gt;&gt;{1,2,3,4,5,6}
                   
</code></pre><pre><code>练习：
    # python优点
    # 简单易学 、免费开源、丰富的库、可扩展性、可移植性、面向对象、规范的代码
    
    # 变量的类型
    # 字符串，整形（浮点），布尔，列表，字典，元组
    
    # 标识符命名规则
    # 字母，数字，下划线
    
    # 如何在python中查找关键字.
    # 在命令行打开python，输入import keyword，keyword.kwlist
    # 返回结果['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
    
    # 常用的格式符号有哪些（3个即可）
    # %d--十进制整数,%s--字符串,%f--浮点
    
    # 运算符（至少5个）
    # +、-、*、/、//
    
    # python常用的数据类型转换（至少3个）
    # str(),int(),list()
    
    # 计较运算符（至少3个）
    # &lt;=、&gt;=、==
    
    # 逻辑运算符是哪3个
    # and、or、not
    
    # 自己写一个if-elif-else条件语句并输出
    # a = 1
    # if a == 1:
    #     print(1)
    # elif a == 2:
    #     print(2)
    # else:
    #     print(3)
    
    # 通过程序写一个等边三角形
    # num = int(input('请输入数字:'))
    # for i in range(num, 0, -1):  #-1倒序取值，从下标为3到0，不包括0
    #     print(i*' ' + (num+1-i)*'*' + (num-i)*'*')
    #        *
    #       ***
    #      *****
    
    # 通过程序写一个九九乘法表
    # for i in range(1, 10):
    #             for j in range(1, i+1):
    #                 print('%d*%d=%d' % (j, i, j*i), end=' ')
    #                 j += 1
    #             print('\n')
    #             i += 1
    
    # 通过代码针对str=&quot;abcdefg&quot;  :
    # s = &quot;abcdefg&quot;
    # 	1取出bcd
    # print(s[1:4])
    # 	2将str倒序
    # print(s[::-1])
    # 	3取出bdf
    # print(s[1::2])
    
    # 通过代码针对mystr = &quot;hello world python and python&quot;进行如下操作
    # mystr = &quot;hello world python and python&quot;
    # 	1.找到右边第一个p的索引
    # print(mystr.rfind('p'))
    # 	2.找z结果要求报错
    # print(mystr.index('z'))
    # 	3.将所有空格替换成逗点
    # print(mystr.replace(' ', ','))
    # 	4.通过逗点生成一个列表
    # print(mystr.split(' '))
    # 	5.将d全部替换成大写D
    # print(mystr.replace('d', 'D'))
    
    # a = [1,2,3,4,5,6]，在a中元素5前添加一个5.5元素
    # a = [1,2,3,4,5,6]
    # a.insert(4, 5.5)
    # print(a)
    
    # 	          在a中元素6后面添加&quot;我心态炸了&quot;
    # a.append('我心态炸了')
    # print(a)
    
    # 	          删除a中的元素1
    # del(a[0])
    # print(a)
    
    # b = [&quot;a&quot;,&quot;b&quot;,&quot;c&quot;,&quot;b&quot;,&quot;a&quot;] 查找索引区间在2-4的“b”的索引
    # b = [&quot;a&quot;,&quot;b&quot;,&quot;c&quot;,&quot;b&quot;,&quot;a&quot;]
    # 		    查找索引区间在3-5的“a”的索引
    # a = b.index('a', 3, 5)
    # print(a)
    
    # 试着修改一个自己创建的元组，达到报错的目的，提醒自己元组不可修改
    # t = ('asd', 1, 2)
    
    # 自己写一个字典，
    # a = {'name': '一', 'price': '13'}
    # 计算自己写的字典中存在键值对的个数，
    # print(len(a))
    # 找出字典中所有的key，
    # for key in a:
    #     print(key)
    # 找出字典中所有的value，
    # for value in a.values():
    #     print(value)
    # 试着遍历字典中的item，
    # for item in a.items():
    #     print(item)
    # 最后删除字典中的第一个键所对应的数据
    # del(a['name'])
    # print(a)
    
    # 集合中的discard的概念
    # 删除集合中的元素，有则删，没有就不做任何操作
    
    # 试着自己写两个集合，分别进行 &amp; 和 | 的操作
    # a = {1, 2, 3}
    # b = {2, 3, 4}
    # c = a &amp; b
    # d = a | b
    # print(c)
    # print(d)
    
    
    
    # 如果以上觉得没挑战，思维扩展：一个学校，有3个办公室，现在有8位老师等待工位的分配，请编写程序，完成随机分配

</code></pre>
    </section>


  <footer class="post-footer">


    
    <figure class="author-image">

        <a class="img" href="/my_technology/" style="background-image: url(/my_technology/images/user.png)"><span class="hidden">付佳康</span></a>
    </figure>
    

    <section class="author">

  <p>付佳康</p>
  

</section>


    
    <section class="share">
      <h4>Share this page</h4>
      <a class="icon-twitter" style="font-size: 1.4em" href="https://twitter.com/share?text=python%e5%9f%ba%e7%a1%80&amp;url=%2fmy_technology%2f16%2f"
          onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;">
          <span class="hidden">Twitter</span>
      </a>
      <a class="icon-facebook" style="font-size: 1.4em" href="https://www.facebook.com/sharer/sharer.php?u=%2fmy_technology%2f16%2f"
          onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;">
          <span class="hidden">Facebook</span>
      </a>
      <a class="icon-google-plus" style="font-size: 1.4em" href="https://plus.google.com/share?url=%2fmy_technology%2f16%2f"
         onclick="window.open(this.href, 'google-plus-share', 'width=490,height=530');return false;">
          <span class="hidden">Google+</span>
      </a>
    </section>
    

    
    
    

  </footer>
</article>

</main>
    <footer class="site-footer clearfix">
        <section class="copyright"><a href="">我的博客</a> </section>
        
        <section class="poweredby">Proudly generated by <a class="icon-hugo" href="https://gohugo.io">HUGO</a>, with <a class="icon-theme" href="https://github.com/syui/hugo-theme-air">hugo-theme-air</a> theme</section>
        
    </footer>
    </div>
    <script type="text/javascript" src="/my_technology/js/jquery.js"></script>
    <script type="text/javascript" src="/my_technology/js/jquery.fitvids.js"></script>
    <script type="text/javascript" src="/my_technology/js/index.js"></script>
    <script src="/my_technology/js/particles.min.js"></script>
    <script src="/my_technology/js/particles.js"></script>  

</body>
</html>

